home *** CD-ROM | disk | FTP | other *** search
- package koala.dynamicjava.parser;
-
- import java.util.Iterator;
- import java.util.List;
- import koala.dynamicjava.parser.wrapper.ParseError;
- import koala.dynamicjava.parser.wrapper.TreeToken;
- import koala.dynamicjava.tree.Expression;
- import koala.dynamicjava.tree.ObjectMethodCall;
- import koala.dynamicjava.tree.SuperMethodCall;
-
- class Parser$ArgumentsSuffix extends Parser.ExpressionSuffix {
- public List arguments;
- public int endLine;
- public int endColumn;
- // $FF: synthetic field
- private final Parser this$0;
-
- public Expression createExpression(Expression var1, Iterator var2) {
- if (var2.hasNext()) {
- Parser.ExpressionSuffix var8 = (Parser.ExpressionSuffix)var2.next();
- if (var8 instanceof Parser.DotIdentifierSuffix) {
- Parser.DotIdentifierSuffix var9 = (Parser.DotIdentifierSuffix)var8;
- Expression var10 = var1;
- if (var2.hasNext()) {
- var10 = ((Parser.ExpressionSuffix)var2.next()).createExpression(var1, var2);
- } else if (var1 instanceof Parser.CompileTimeExpression) {
- var10 = ((Parser.CompileTimeExpression)var1).createRuntimeExpression();
- }
-
- return new ObjectMethodCall(var10, var9.identifier.image, this.arguments, Parser.access$0(this.this$0), var10.getBeginLine(), var10.getBeginColumn(), this.endLine, this.endColumn);
- } else {
- throw new ParseError(Parser.access$1(this.this$0).getMessage("parameter.list", (String[])null), Parser.access$0(this.this$0), this.endLine, this.endColumn);
- }
- } else if (var1 instanceof Parser.CompileTimeQualifiedName) {
- List var7 = ((Parser.CompileTimeQualifiedName)var1).identifiers;
- Token var4 = ((TreeToken)var7.get(0)).getToken();
- Token var5 = ((TreeToken)var7.remove(var7.size() - 1)).getToken();
- Expression var6 = null;
- if (var7.size() >= 1) {
- var6 = ((Parser.CompileTimeQualifiedName)var1).createRuntimeExpression();
- }
-
- return new ObjectMethodCall(var6, var5.image, this.arguments, Parser.access$0(this.this$0), var4.beginLine, var4.beginColumn, this.endLine, this.endColumn);
- } else if (var1 instanceof Parser.CompileTimeSuperExpression) {
- Parser.CompileTimeSuperExpression var3 = (Parser.CompileTimeSuperExpression)var1;
- return new SuperMethodCall(var3.identifier, this.arguments, Parser.access$0(this.this$0), var3.getBeginLine(), var3.getBeginColumn(), this.endLine, this.endColumn);
- } else {
- throw new ParseError(Parser.access$1(this.this$0).getMessage("parameter.list", (String[])null), Parser.access$0(this.this$0), this.endLine, this.endColumn);
- }
- }
-
- public Parser$ArgumentsSuffix(Parser var1, List var2, int var3, int var4) {
- super(var1);
- this.this$0 = var1;
- this.arguments = var2;
- this.endLine = var3;
- this.endColumn = var4;
- }
- }
-